import type { GeneratedEtsLibFile } from "../../types/generated";

export const FILE: GeneratedEtsLibFile = {
  path: 'ets/api/@ohos.data.distributedKVStore.d.ts',
  content: "/*\n * Copyright (c) 2022 Huawei Device Co., Ltd.\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n *     http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n/**\n * @file\n * @kit ArkData\n */\nimport { AsyncCallback, Callback } from './@ohos.base';\nimport BaseContext from './application/BaseContext';\n/**\n * Provider interfaces to create a {@link KVManager} instance.\n *\n * @namespace distributedKVStore\n * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n * @since 9\n */\ndeclare namespace distributedKVStore {\n    /**\n     * Provides configuration information to create a {@link KVManager} instance,\n     * which includes the caller's package name and ability or hap context.\n     *\n     * @interface KVManagerConfig\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface KVManagerConfig {\n        /**\n         * Indicates the bundleName\n         *\n         * @type { string }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        bundleName: string;\n        /**\n         * Indicates the ability or hap context\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * if swap the area, you should close all the KV store and use the new Context to create the KVManager\n         * @since 9\n         */\n        /**\n         * Indicates the ability or hap context\n         *\n         * @type { BaseContext }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * if swap the area, you should close all the KV store and use the new BaseContext to create the KVManager\n         * @since 10\n         */\n        context: BaseContext;\n    }\n    /**\n     * KVStore constants\n     *\n     * @interface Constants\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface Constants {\n        /**\n         * Max key length is 1024.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_KEY_LENGTH: number;\n        /**\n         * Max value length is 4194303.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_VALUE_LENGTH: number;\n        /**\n         * Max device coordinate key length is 896.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_KEY_LENGTH_DEVICE: number;\n        /**\n         * Max store id length is 128.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_STORE_ID_LENGTH: number;\n        /**\n         * Max query length is 512000.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_QUERY_LENGTH: number;\n        /**\n         * Max batch operation size is 128.\n         *\n         * @type { number }\n         * @readonly\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        readonly MAX_BATCH_SIZE: number;\n    }\n    /**\n     * Indicates the {@code ValueType}.\n     * <p>{@code ValueType} is obtained based on the value.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    enum ValueType {\n        /**\n         * Indicates that the value type is string.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        STRING,\n        /**\n         * Indicates that the value type is int.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        INTEGER,\n        /**\n         * Indicates that the value type is float.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        FLOAT,\n        /**\n         * Indicates that the value type is byte array.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        BYTE_ARRAY,\n        /**\n         * Indicates that the value type is boolean.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        BOOLEAN,\n        /**\n         * Indicates that the value type is double.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        DOUBLE\n    }\n    /**\n     * Obtains {@code Value} objects stored in a {@link SingleKVStore} or {@link DeviceKVStore} database.\n     *\n     * @interface Value\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface Value {\n        /**\n         * Indicates the value type\n         *\n         * @type { ValueType }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         * @see ValueType\n         */\n        type: ValueType;\n        /**\n         * Indicates the value\n         *\n         * @type { Uint8Array | string | number | boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        value: Uint8Array | string | number | boolean;\n    }\n    /**\n     * Provides key-value pairs stored in the distributedKVStore.\n     *\n     * @interface Entry\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface Entry {\n        /**\n         * Indicates the key\n         *\n         * @type { string }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        key: string;\n        /**\n         * Indicates the value\n         *\n         * @type { Value }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        value: Value;\n    }\n    /**\n     * Receive notifications of all data changes, including data insertion, update, and deletion.\n     * <p>If you have subscribed to {@code SingleKVStore} or {@code DeviceKVStore}, you will receive\n     * data change notifications and obtain the changed data from the parameters in callback methods\n     * upon data insertion, update or deletion.\n     *\n     * @interface ChangeNotification\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface ChangeNotification {\n        /**\n         * Indicates data insertion records.\n         *\n         * @type { Entry[] }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        insertEntries: Entry[];\n        /**\n         * Indicates data update records.\n         *\n         * @type { Entry[] }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        updateEntries: Entry[];\n        /**\n         * Indicates data deletion records.\n         *\n         * @type { Entry[] }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deleteEntries: Entry[];\n        /**\n         * Indicates the device id which brings the data change.\n         *\n         * @type { string }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deviceId: string;\n    }\n    /**\n     * Indicates the database synchronization mode.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    enum SyncMode {\n        /**\n         * Indicates that data is only pulled from the remote end.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        PULL_ONLY,\n        /**\n         * Indicates that data is only pushed from the local end.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        PUSH_ONLY,\n        /**\n         * Indicates that data is pushed from the local end, and then pulled from the remote end.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        PUSH_PULL\n    }\n    /**\n     * Describes the subscription type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    enum SubscribeType {\n        /**\n         * Subscription to local data changes\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        SUBSCRIBE_TYPE_LOCAL,\n        /**\n         * Subscription to remote data changes\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        SUBSCRIBE_TYPE_REMOTE,\n        /**\n         * Subscription to both local and remote data changes\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        SUBSCRIBE_TYPE_ALL\n    }\n    /**\n     * Describes the KVStore type.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    enum KVStoreType {\n        /**\n         * Device-collaboration database, as specified by {@code DeviceKVStore}\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        DEVICE_COLLABORATION,\n        /**\n         * Single-version database, as specified by {@code SingleKVStore}\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        SINGLE_VERSION\n    }\n    /**\n     * Describes the KVStore security level.\n     *\n     * @enum { number }\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    enum SecurityLevel {\n        /**\n         * S1: means the db is in the low security level\n         * There are some low impact when the data is leaked.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        S1,\n        /**\n         * S2: means the db is in the middle security level\n         * There are some major impact when the data is leaked.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        S2,\n        /**\n         * S3: means the db is in the high security level\n         * There are some severity impact when the data is leaked.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        S3,\n        /**\n         * S4: means the db is in the critical security level\n         * There are some critical impact when the data is leaked.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        S4\n    }\n    /**\n     * Provides configuration options to create a {@code SingleKVStore} or {@code DeviceKVStore}.\n     *\n     * @interface Options\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface Options {\n        /**\n         * Indicates whether to create a database when the database file does not exist\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        createIfMissing?: boolean;\n        /**\n         * Indicates whether database files to be encrypted\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        encrypt?: boolean;\n        /**\n         * Indicates whether to back up database files\n         *\n         * @type { ?boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        backup?: boolean;\n        /**\n         * Indicates whether database files are automatically synchronized\n         *\n         * @permission ohos.permission.DISTRIBUTED_DATASYNC\n         * @type { ?boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        autoSync?: boolean;\n        /**\n         * Indicates the database type\n         *\n         * @type { ?KVStoreType }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        kvStoreType?: KVStoreType;\n        /**\n         * Indicates the database security level\n         *\n         * @type { SecurityLevel }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        securityLevel: SecurityLevel;\n        /**\n         * Indicates the database schema\n         *\n         * @type { ?Schema }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        schema?: Schema;\n    }\n    /**\n     * Represents the database schema.\n     * You can set the schema object in options when create or open the database.\n     *\n     * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n     * @since 9\n     */\n    class Schema {\n        /**\n         * A constructor used to create a Schema instance.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        constructor();\n        /**\n         * Indicates the root json object.\n         *\n         * @type { FieldNode }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        root: FieldNode;\n        /**\n         * Indicates the string array of json.\n         *\n         * @type { Array<string> }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        indexes: Array<string>;\n        /**\n         * Indicates the mode of schema.\n         *\n         * @type { number }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        mode: number;\n        /**\n         * Indicates the skip size of schema.\n         *\n         * @type { number }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        skip: number;\n    }\n    /**\n     * Represents a node of a {@link Schema} instance.\n     * <p>With a {@link Schema} instance, you can define the value fields which stored in the database.\n     * <p>A FieldNode of the {@link Schema} instance is either a leaf or a non-leaf node.\n     * <p>The leaf node must have a value; the non-leaf node must have a child {@code FieldNode}.\n     *\n     * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n     * @since 9\n     */\n    class FieldNode {\n        /**\n         * A constructor used to create a FieldNode instance with the specified field.\n         * name Indicates the field node name.\n         *\n         * @param { string } name - It can not be empty.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        constructor(name: string);\n        /**\n         * Adds a child node to this {@code FieldNode}.\n         * <p>Add a child node to makes this node a non-leaf node and field value will be ignored if it has a child node.\n         *\n         * @param { FieldNode } child - The field node to append.\n         * @returns { boolean } Returns true if the child node is successfully added to this {@code FieldNode}\n         * and false otherwise.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        appendChild(child: FieldNode): boolean;\n        /**\n         * Indicates the default value of field node.\n         *\n         * @type { string }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        default: string;\n        /**\n         * Indicates the nullable of database field.\n         *\n         * @type { boolean }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        nullable: boolean;\n        /**\n         * Indicates the type of value.\n         *\n         * @type { number }\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        type: number;\n    }\n    /**\n     * Provides methods to operate the result set of the {@code SingleKVStore} or {@code DeviceKVStore} database.\n     * <p>The result set is created by using the {@code getResultSet} method in the {@code SingleKVStore} or\n     * {@code DeviceKVStore} class. This interface also provides methods to move the data read\n     * position in the result set.\n     *\n     * @interface KVStoreResultSet\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface KVStoreResultSet {\n        /**\n         * Obtains the number of lines in a result set.\n         *\n         * @returns { number } Returns the number of lines.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getCount(): number;\n        /**\n         * Obtains the current read position in a result set.\n         *\n         * @returns { number } Returns the current read position. The read position starts with 0.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getPosition(): number;\n        /**\n         * Moves the read position to the first line.\n         * <p>If the result set is empty, false is returned.\n         *\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        moveToFirst(): boolean;\n        /**\n         * Moves the read position to the last line.\n         * <p>If the result set is empty, false is returned.\n         *\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        moveToLast(): boolean;\n        /**\n         * Moves the read position to the next line.\n         * <p>If the result set is empty or the data in the last line is being read, false is returned.\n         *\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        moveToNext(): boolean;\n        /**\n         * Moves the read position to the previous line.\n         * <p>If the result set is empty or the data in the first line is being read, false is returned.\n         *\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        moveToPrevious(): boolean;\n        /**\n         * Moves the read position by a relative offset to the current position.\n         *\n         * @param { number } offset - Indicates the relative offset to the current position. A negative offset indicates\n         * moving backwards, and a positive offset indicates moving forwards. For example, if the current position is entry\n         * 1 and this offset is 2, the destination position will be entry 3; if the current position is entry 3 and this\n         * offset is -2, the destination position will be entry 1. The valid final position after moving forwards starts\n         * with 0. If the final position is invalid, false will be returned.\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        move(offset: number): boolean;\n        /**\n         * Moves the read position from 0 to an absolute position.\n         *\n         * @param { number } position - Indicates the absolute position.\n         * @returns { boolean } Returns true if the operation succeeds; return false otherwise.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        moveToPosition(position: number): boolean;\n        /**\n         * Checks whether the read position is the first line.\n         *\n         * @returns { boolean } Returns true if the read position is the first line; returns false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isFirst(): boolean;\n        /**\n         * Checks whether the read position is the last line.\n         *\n         * @returns { boolean } Returns true if the read position is the last line; returns false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isLast(): boolean;\n        /**\n         * Checks whether the read position is before the last line.\n         *\n         * @returns { boolean } Returns true if the read position is before the first line; returns false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isBeforeFirst(): boolean;\n        /**\n         * Checks whether the read position is after the last line.\n         *\n         * @returns { boolean } Returns true if the read position is after the last line; returns false otherwise.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isAfterLast(): boolean;\n        /**\n         * Obtains a key-value pair.\n         *\n         * @returns { Entry } Returns a key-value pair.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntry(): Entry;\n    }\n    /**\n     * Represents a database query using predicates.\n     * <p>This class provides a constructor used to create a {@code Query} instance, which is used to query data\n     * matching specified conditions in the database.\n     * <p>This class also provides methods to add predicates to the {@code Query} instance.\n     *\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    class Query {\n        /**\n         * A constructor used to create a Query instance.\n         *\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        constructor();\n        /**\n         * Resets this {@code Query} object.\n         *\n         * @returns { Query } Returns the reset {@code Query} object.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        reset(): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is equal to the\n         * specified long value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string | boolean } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        equalTo(field: string, value: number | string | boolean): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is not equal to the\n         * specified int value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string | boolean } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        notEqualTo(field: string, value: number | string | boolean): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is greater than or\n         * equal to the specified int value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string | boolean } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        greaterThan(field: string, value: number | string | boolean): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is less than the\n         * specified int value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        lessThan(field: string, value: number | string): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is greater than or\n         * equal to the specified int value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        greaterThanOrEqualTo(field: string, value: number | string): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is less than or\n         * equal to the specified int value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number | string } value - Indicates the value to be compared.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        lessThanOrEqualTo(field: string, value: number | string): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is null.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isNull(field: string): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is within the specified\n         * int value list.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number[] } valueList - Indicates the int value list.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        inNumber(field: string, valueList: number[]): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is within the specified\n         * string value list.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { string[] } valueList - Indicates the string value list.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        inString(field: string, valueList: string[]): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is not within the\n         * specified int value list.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { number[] } valueList - Indicates the int value list.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        notInNumber(field: string, valueList: number[]): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is not within the\n         * specified string value list.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { string[] } valueList - Indicates the string value list.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        notInString(field: string, valueList: string[]): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is similar to the\n         * specified string value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { string } value - Indicates the string value.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        like(field: string, value: string): Query;\n        /**\n         * Constructs a {@code Query} object to query entries with the specified field whose value is not similar to the\n         * specified string value.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @param { string } value - Indicates the string value.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        unlike(field: string, value: string): Query;\n        /**\n         * Constructs a {@code Query} object with the and condition.\n         * <p>Multiple predicates should be connected using the and or or condition.\n         *\n         * @returns { Query } Returns the {@coed Query} object.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        and(): Query;\n        /**\n         * Constructs a {@code Query} object with the or condition.\n         * <p>Multiple predicates should be connected using the and or or condition.\n         *\n         * @returns { Query } Returns the {@coed Query} object.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        or(): Query;\n        /**\n         * Constructs a {@code Query} object to sort the query results in ascending order.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        orderByAsc(field: string): Query;\n        /**\n         * Constructs a {@code Query} object to sort the query results in descending order.\n         *\n         * @param { string } field - Indicates the field, which cannot contain ^.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        orderByDesc(field: string): Query;\n        /**\n         * Constructs a {@code Query} object to specify the number of results and the start position.\n         *\n         * @param { number } total - Maximum number of results to query. The value must be a non-negative integer.\n         * If the input value is less than 0, the number of results is not limited.\n         * @param { number } offset - Start position of the query result. By default,\n         * the start position is the beginning of the result set. If **offset** is a negative number,\n         * the start position is the beginning of the result set. If **offset** exceeds the end of the result set,\n         * the query result is empty.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        limit(total: number, offset: number): Query;\n        /**\n         * Creates a {@code Query} condition with a specified field that is not null.\n         *\n         * @param { string } field - Indicates the specified field.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        isNotNull(field: string): Query;\n        /**\n         * Creates a query condition group with a left bracket.\n         * <p>Multiple query conditions in an {@code Query} object can be grouped. The query conditions in a group can\n         * beused as a whole to combine with other query conditions.\n         *\n         * @returns { Query } Returns the {@coed Query} object.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        beginGroup(): Query;\n        /**\n         * Creates a query condition group with a right bracket.\n         * <p>Multiple query conditions in an {@code Query} object can be grouped. The query conditions in a group can\n         * be used as a whole to combine with other query conditions.\n         *\n         * @returns { Query } Returns the {@coed Query} object.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        endGroup(): Query;\n        /**\n         * Creates a query condition with a specified key prefix.\n         *\n         * @param { string } prefix - Indicates the specified key prefix.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        prefixKey(prefix: string): Query;\n        /**\n         * Sets a specified index that will be preferentially used for query.\n         *\n         * @param { string } index - Indicates the index to set.\n         * @returns { Query } Returns the {@coed Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        setSuggestIndex(index: string): Query;\n        /**\n         * Add device ID key prefix.Used by {@code DeviceKVStore}.\n         *\n         * @param { string } deviceId - Specify device id to query from, It can not be empty.\n         * @returns { Query } Returns the {@code Query} object with device ID prefix added.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deviceId(deviceId: string): Query;\n        /**\n         * Get a String that represents this {@code Query}.\n         * <p>The String would be parsed to DB query format.\n         * The String length should be no longer than 500kb.\n         *\n         * @returns { string } String representing this {@code Query}.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getSqlLike(): string;\n    }\n    /**\n     * Provides methods related to single-version distributed databases.\n     * <p>To create a {@code SingleKVStore} database,\n     * you can use the {@link data.distributed.common.KVManager#getKVStore​(Options, String)} method\n     * with {@code KVStoreType} set to {@code SINGLE_VERSION} for the input parameter {@code Options}.\n     * This database synchronizes data to other databases in time sequence.\n     * The {@code SingleKVStore} database does not support\n     * synchronous transactions, or data search using snapshots.\n     *\n     * @interface SingleKVStore\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface SingleKVStore {\n        /**\n         * Writes a key-value pair of the string type into the {@code SingleKVStore} database.\n         * <p>If you do not want to synchronize this key-value pair to other devices, set the write option in the local\n         * database.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { Uint8Array | string | number | boolean } value - Indicates the value to be inserted.\n         * @param { AsyncCallback<void> } callback - the callback of put.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Writes a key-value pair of the string type into the {@code SingleKVStore} database.\n         * <p>If you do not want to synchronize this key-value pair to other devices, set the write option in the local\n         * database.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { Uint8Array | string | number | boolean } value - Indicates the value to be inserted.\n         * @param { AsyncCallback<void> } callback - the callback of put.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        put(key: string, value: Uint8Array | string | number | boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Writes a key-value pair of the string type into the {@code SingleKVStore} database.\n         * <p>If you do not want to synchronize this key-value pair to other devices, set the write option in the local\n         * database.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { Uint8Array | string | number | boolean } value - Indicates the value to be inserted.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Writes a key-value pair of the string type into the {@code SingleKVStore} database.\n         * <p>If you do not want to synchronize this key-value pair to other devices, set the write option in the local\n         * database.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { Uint8Array | string | number | boolean } value - Indicates the value to be inserted.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        put(key: string, value: Uint8Array | string | number | boolean): Promise<void>;\n        /**\n         * Inserts key-value pairs into the {@code SingleKVStore} database in batches.\n         *\n         * @param { Entry[] } entries - Indicates the key-value pairs to be inserted in batches.\n         * @param { AsyncCallback<void> } callback - the callback of putBatch.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Inserts key-value pairs into the {@code SingleKVStore} database in batches.\n         *\n         * @param { Entry[] } entries - Indicates the key-value pairs to be inserted in batches.\n         * @param { AsyncCallback<void> } callback - the callback of putBatch.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        putBatch(entries: Entry[], callback: AsyncCallback<void>): void;\n        /**\n         * Inserts key-value pairs into the {@code SingleKVStore} database in batches.\n         *\n         * @param { Entry[] } entries - Indicates the key-value pairs to be inserted in batches.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Inserts key-value pairs into the {@code SingleKVStore} database in batches.\n         *\n         * @param { Entry[] } entries - Indicates the key-value pairs to be inserted in batches.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        putBatch(entries: Entry[]): Promise<void>;\n        /**\n         * Deletes the key-value pair based on a specified key.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { AsyncCallback<void> } callback - the callback of delete.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Deletes the key-value pair based on a specified key.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @param { AsyncCallback<void> } callback - the callback of delete.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        delete(key: string, callback: AsyncCallback<void>): void;\n        /**\n         * Deletes the key-value pair based on a specified key.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Deletes the key-value pair based on a specified key.\n         *\n         * @param { string } key - Indicates the key. Length must be less than {@code MAX_KEY_LENGTH}.\n         * Spaces before and after the key will be cleared.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        delete(key: string): Promise<void>;\n        /**\n         * Deletes key-value pairs in batches from the {@code SingleKVStore} database.\n         *\n         * @param { string[] } keys - Indicates the key-value pairs to be deleted in batches, It can not be empty.\n         * @param { AsyncCallback<void> } callback - the callback of deleteBatch.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Deletes key-value pairs in batches from the {@code SingleKVStore} database.\n         *\n         * @param { string[] } keys - Indicates the key-value pairs to be deleted in batches, It can not be empty.\n         * @param { AsyncCallback<void> } callback - the callback of deleteBatch.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        deleteBatch(keys: string[], callback: AsyncCallback<void>): void;\n        /**\n         * Deletes key-value pairs in batches from the {@code SingleKVStore} database.\n         *\n         * @param { string[] } keys - Indicates the key-value pairs to be deleted in batches, It can not be empty.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Deletes key-value pairs in batches from the {@code SingleKVStore} database.\n         *\n         * @param { string[] } keys - Indicates the key-value pairs to be deleted in batches, It can not be empty.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        deleteBatch(keys: string[]): Promise<void>;\n        /**\n         * Removes data of the specified device from current database. This method is used to remove only the data\n         * synchronized from remote devices. This operation does not synchronize data to other databases or affect\n         * subsequent data synchronization.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be removed and the value cannot be the\n         * current device ID.\n         * @param { AsyncCallback<void> } callback - the callback of removeDeviceData.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        removeDeviceData(deviceId: string, callback: AsyncCallback<void>): void;\n        /**\n         * Removes data of the specified device from current database. This method is used to remove only the data\n         * synchronized from remote devices. This operation does not synchronize data to other databases or affect\n         * subsequent data synchronization.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be removed and the value cannot be the\n         * current device ID.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        removeDeviceData(deviceId: string): Promise<void>;\n        /**\n         * Obtains the value of a specified key.\n         *\n         * @param { string } key - Indicates the key. The length must be less than {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<boolean | string | number | Uint8Array> } callback -\n         * {Uint8Array|string|boolean|number}: the returned value specified by the key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        get(key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void;\n        /**\n         * Obtains the value of a specified key.\n         *\n         * @param { string } key - Indicates the key. The length must be less than {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<boolean | string | number | Uint8Array> }\n         * {Uint8Array|string|boolean|number}: the returned value specified by the key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        get(key: string): Promise<boolean | string | number | Uint8Array>;\n        /**\n         * Obtains all key-value pairs that match a specified key prefix.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * that match the specified key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(keyPrefix: string, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains all key-value pairs that match a specified key prefix.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs that match the\n         * specified key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(keyPrefix: string): Promise<Entry[]>;\n        /**\n         * Obtains the list of key-value pairs matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * matching the specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(query: Query, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains the list of key-value pairs matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs matching the\n         * specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(query: Query): Promise<Entry[]>;\n        /**\n         * Obtains the result set with a specified prefix from a {@code SingleKVStore} database.\n         * The {@code KVStoreResultSet}\n         * object can be used to query all key-value pairs that meet the search criteria. Each {@code SingleKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created\n         * four objects, calling this method will return a failure. Therefore, you are advised to call the closeResultSet\n         * method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the result set with a specified prefix from a {@code SingleKVStore} database.\n         * The {@code KVStoreResultSet}\n         * object can be used to query all key-value pairs that meet the search criteria. Each {@code SingleKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created\n         * four objects, calling this method will return a failure. Therefore, you are advised to call the closeResultSet\n         * method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the result set with a specified prefix from a {@code SingleKVStore} database.\n         * The {@code KVStoreResultSet}\n         * object can be used to query all key-value pairs that meet the search criteria. Each {@code SingleKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created\n         * four objects, calling this method will return a failure. Therefore, you are advised to call the closeResultSet\n         * method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the result set with a specified prefix from a {@code SingleKVStore} database.\n         * The {@code KVStoreResultSet}\n         * object can be used to query all key-value pairs that meet the search criteria. Each {@code SingleKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created\n         * four objects, calling this method will return a failure. Therefore, you are advised to call the closeResultSet\n         * method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(keyPrefix: string): Promise<KVStoreResultSet>;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(query: Query, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(query: Query): Promise<KVStoreResultSet>;\n        /**\n         * Closes a {@code KVStoreResultSet} object returned by getResultSet method.\n         *\n         * @param { KVStoreResultSet } resultSet - Indicates the {@code KVStoreResultSet} object to close.\n         * @param { AsyncCallback<void> } callback - the callback of closeResultSet.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        closeResultSet(resultSet: KVStoreResultSet, callback: AsyncCallback<void>): void;\n        /**\n         * Closes a {@code KVStoreResultSet} object returned by getResultSet method.\n         *\n         * @param { KVStoreResultSet } resultSet - Indicates the {@code KVStoreResultSet} object to close.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        closeResultSet(resultSet: KVStoreResultSet): Promise<void>;\n        /**\n         * Obtains the number of results matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<number> } callback - {number}: the number of results matching the\n         * specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getResultSize(query: Query, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the number of results matching the specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<number> } {number}: the number of results matching the specified\n         * {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getResultSize(query: Query): Promise<number>;\n        /**\n         * Backs up a database in the specified filename.\n         *\n         * @param { string } file - Indicates the database backup filename, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<void> } callback - the callback of backup.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        backup(file: string, callback: AsyncCallback<void>): void;\n        /**\n         * Backs up a database in the specified filename.\n         *\n         * @param { string } file - Indicates the database backup filename, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        backup(file: string): Promise<void>;\n        /**\n         * Restores a database from a specified database file.\n         *\n         * @param { string } file - Indicates the database backup filename, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<void> } callback - the callback of restore.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        restore(file: string, callback: AsyncCallback<void>): void;\n        /**\n         * Restores a database from a specified database file.\n         *\n         * @param { string } file - Indicates the database backup filename, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        restore(file: string): Promise<void>;\n        /**\n         * Delete database backup files based on the specified filenames.\n         *\n         * @param { Array<string> } files - Indicates the backup filenames to be deleted, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<Array<[string, number]>> } callback - {Array<[string, number]>}:\n         * the list of backup file and it's corresponding delete result which 0 means delete success\n         * and otherwise failed.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deleteBackup(files: Array<string>, callback: AsyncCallback<Array<[\n            string,\n            number\n        ]>>): void;\n        /**\n         * Delete database backup files based on the specified filenames.\n         *\n         * @param { Array<string> } files - Indicates the backup filenames to be deleted, It can not be empty and\n         * The length must be less than {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<Array<[string, number]>> } {Array<[string, number]>}: the list of backup\n         * file and it's corresponding delete result which 0 means delete success and otherwise failed.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deleteBackup(files: Array<string>): Promise<Array<[\n            string,\n            number\n        ]>>;\n        /**\n         * Starts a transaction operation in the {@code SingleKVStore} database.\n         * <p>After the database transaction is started, you can submit or roll back the operation.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of startTransaction.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Starts a transaction operation in the {@code SingleKVStore} database.\n         * <p>After the database transaction is started, you can submit or roll back the operation.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of startTransaction.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        startTransaction(callback: AsyncCallback<void>): void;\n        /**\n         * Starts a transaction operation in the {@code SingleKVStore} database.\n         * <p>After the database transaction is started, you can submit or roll back the operation.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Starts a transaction operation in the {@code SingleKVStore} database.\n         * <p>After the database transaction is started, you can submit or roll back the operation.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @throws { BusinessError } 14800047 - The WAL file size exceeds the default limit.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        startTransaction(): Promise<void>;\n        /**\n         * Submits a transaction operation in the {@code SingleKVStore} database.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of commit.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        commit(callback: AsyncCallback<void>): void;\n        /**\n         * Submits a transaction operation in the {@code SingleKVStore} database.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        commit(): Promise<void>;\n        /**\n         * Rolls back a transaction operation in the {@code SingleKVStore} database.\n         *\n         * @param { AsyncCallback<void> } callback - the callback of rollback.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        rollback(callback: AsyncCallback<void>): void;\n        /**\n         * Rolls back a transaction operation in the {@code SingleKVStore} database.\n         *\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        rollback(): Promise<void>;\n        /**\n         * Sets whether to enable synchronization.\n         *\n         * @param { boolean } enabled - Specifies whether to enable synchronization. The value true\n         * means to enable synchronization, and false means the opposite.\n         * @param { AsyncCallback<void> } callback - the callback of enableSync.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        enableSync(enabled: boolean, callback: AsyncCallback<void>): void;\n        /**\n         * Sets whether to enable synchronization.\n         *\n         * @param { boolean } enabled - Specifies whether to enable synchronization. The value true\n         * means to enable synchronization, and false means the opposite.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        enableSync(enabled: boolean): Promise<void>;\n        /**\n         * Sets synchronization range labels.\n         * <p>The labels determine the devices with which data will be synchronized.\n         *\n         * @param { string[] } localLabels - Indicates the synchronization labels of the local device.\n         * @param { string[] } remoteSupportLabels - Indicates the labels of the devices with which\n         * data will be synchronized.\n         * @param { AsyncCallback<void> } callback - the callback of setSyncRange.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        setSyncRange(localLabels: string[], remoteSupportLabels: string[], callback: AsyncCallback<void>): void;\n        /**\n         * Sets synchronization range labels.\n         * <p>The labels determine the devices with which data will be synchronized.\n         *\n         * @param { string[] } localLabels - Indicates the synchronization labels of the local device.\n         * @param { string[] } remoteSupportLabels - Indicates the labels of the devices with which\n         * data will be synchronized.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        setSyncRange(localLabels: string[], remoteSupportLabels: string[]): Promise<void>;\n        /**\n         * Sets the default delay allowed for database synchronization\n         *\n         * @param { number } defaultAllowedDelayMs - Indicates the default delay allowed for the\n         * database synchronization, in milliseconds.\n         * @param { AsyncCallback<void> } callback - the callback of setSyncParam.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        setSyncParam(defaultAllowedDelayMs: number, callback: AsyncCallback<void>): void;\n        /**\n         * Sets the default delay allowed for database synchronization\n         *\n         * @param { number } defaultAllowedDelayMs - Indicates the default delay allowed for the\n         * database synchronization, in milliseconds.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        setSyncParam(defaultAllowedDelayMs: number): Promise<void>;\n        /**\n         * Synchronize the database to the specified devices with the specified delay allowed.\n         *\n         * @permission ohos.permission.DISTRIBUTED_DATASYNC\n         * @param { string[] } deviceIds - Indicates the list of devices to which to synchronize the database.\n         * @param { SyncMode } mode - Indicates the synchronization mode. The value can be {@code PUSH},\n         * {@code PULL}, or {@code PUSH_PULL}.\n         * @param { number } delayMs - Indicates the delay allowed for the synchronization, in milliseconds.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        sync(deviceIds: string[], mode: SyncMode, delayMs?: number): void;\n        /**\n         * Synchronize the database to the specified devices with the specified delay allowed.\n         *\n         * @permission ohos.permission.DISTRIBUTED_DATASYNC\n         * @param { string[] } deviceIds - Indicates the list of devices to which to synchronize the database.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { SyncMode } mode - Indicates the synchronization mode. The value can be {@code PUSH},\n         * {@code PULL}, or {@code PUSH_PULL}.\n         * @param { number } delayMs - Indicates the delay allowed for the synchronization, in milliseconds.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        sync(deviceIds: string[], query: Query, mode: SyncMode, delayMs?: number): void;\n        /**\n         * Register a callback to the database and when data in the distributed database has changed,\n         * the callback will be invoked.\n         *\n         * @param { 'dataChange' } event - Subscribed event name, fixed as 'dataChange', indicates the data change event.\n         * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@code SubscribeType}.\n         * @param { Callback<ChangeNotification> } listener - {ChangeNotification}: the {@code ChangeNotification}\n         * object indicates the data change events in the distributed database.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Register a callback to the database and when data in the distributed database has changed,\n         * the callback will be invoked.\n         *\n         * @param { 'dataChange' } event - Subscribed event name, fixed as 'dataChange', indicates the data change event.\n         * @param { SubscribeType } type - Indicates the subscription type, which is defined in {@code SubscribeType}.\n         * @param { Callback<ChangeNotification> } listener - {ChangeNotification}: the {@code ChangeNotification}\n         * object indicates the data change events in the distributed database.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        on(event: 'dataChange', type: SubscribeType, listener: Callback<ChangeNotification>): void;\n        /**\n         * Register a databases synchronization callback to the database.\n         * <p> Sync result is returned through asynchronous callback.\n         *\n         * @param { 'syncComplete' } event - Subscribed event name, fixed as 'syncComplete', indicates the synchronization\n         * completion event.\n         * @param { Callback<Array<[string, number]>> } syncCallback - {Array<[string, number]>}: the\n         * deviceId and it's corresponding synchronization result which 0 means synchronization success\n         * and otherwise failed.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        on(event: 'syncComplete', syncCallback: Callback<Array<[\n            string,\n            number\n        ]>>): void;\n        /**\n         * Unsubscribe from the SingleKVStore database based on the specified subscribeType and listener.\n         *\n         * @param { 'dataChange' } event - The unsubscribe event name, fixed as 'dataChange', indicates the data change\n         * event.\n         * @param { Callback<ChangeNotification> } listener - {ChangeNotification}: the {@code ChangeNotification}\n         * object indicates the data change events in the distributed database.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        off(event: 'dataChange', listener?: Callback<ChangeNotification>): void;\n        /**\n         * Unregister the database synchronization callback.\n         *\n         * @param { 'syncComplete' } event - The unsubscribe event name, fixed as 'syncComplete', indicates the\n         * synchronization completion event.\n         * @param { Callback<Array<[string, number]>> } syncCallback - {Array<[string, number]>}: the\n         * deviceId and it's corresponding synchronization result which 0 means synchronization success\n         * and otherwise failed.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        off(event: 'syncComplete', syncCallback?: Callback<Array<[\n            string,\n            number\n        ]>>): void;\n        /**\n         * Get the security level of the database.\n         *\n         * @param { AsyncCallback<SecurityLevel> } callback - {SecurityLevel}: the {@code SecurityLevel}\n         * object indicates the security level of the database.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getSecurityLevel(callback: AsyncCallback<SecurityLevel>): void;\n        /**\n         * Get the security level of the database.\n         *\n         * @returns { Promise<SecurityLevel> } {SecurityLevel}: the {@code SecurityLevel} object indicates\n         * the security level of the database.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getSecurityLevel(): Promise<SecurityLevel>;\n    }\n    /**\n     * Provides methods related to device-collaboration distributed databases.\n     * <p>To create a {@code DeviceKVStore} database, you can use the\n     * {@link data.distributed.common.KVManager.getKVStore(Options, String)}\n     * method with {@code KVStoreType} set to {@code DEVICE_COLLABORATION} for the input parameter Options.\n     * This database manages distributed\n     * data by device, and cannot modify data synchronized from remote devices. When an application writes a\n     * key-value pair entry\n     * into the database, the system automatically adds the ID of the device running the application to the key.\n     *\n     * @extends SingleKVStore\n     * @typedef DeviceKVStore\n     * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n     * @since 9\n     */\n    interface DeviceKVStore extends SingleKVStore {\n        /**\n         * Obtains the value matching the local device ID and specified key.\n         *\n         * @param { string } key - Indicates the key. The length must be less than {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<boolean | string | number | Uint8Array> } callback -\n         * {Uint8Array|string|boolean|number}: the returned value specified by the local device ID and specified key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        get(key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void;\n        /**\n         * Obtains the value matching the local device ID and specified key.\n         *\n         * @param { string } key - Indicates the key. The length must be less than {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<boolean | string | number | Uint8Array> }\n         * {Uint8Array|string|boolean|number}: the returned value specified by the local device ID and specified key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        get(key: string): Promise<boolean | string | number | Uint8Array>;\n        /**\n         * Obtains the value matching a specified device ID and key.\n         *\n         * @param { string } deviceId - Indicates the device to be queried.\n         * @param { string } key - Indicates the key of the value to be queried. The length must be less than\n         * {@code MAX_KEY_LENGTH}.\n         * @param { AsyncCallback<boolean | string | number | Uint8Array> } callback -\n         * {boolean | string | number | Uint8Array}: the returned value specified by the deviceId and key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        get(deviceId: string, key: string, callback: AsyncCallback<boolean | string | number | Uint8Array>): void;\n        /**\n         * Obtains the value matching a specified device ID and key.\n         *\n         * @param { string } deviceId - Indicates the device to be queried.\n         * @param { string } key - Indicates the key of the value to be queried. The length must be less than\n         * {@code MAX_KEY_LENGTH}.\n         * @returns { Promise<boolean | string | number | Uint8Array> }\n         * {Uint8Array|string|boolean|number}: the returned value specified by the deviceId and key.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        get(deviceId: string, key: string): Promise<boolean | string | number | Uint8Array>;\n        /**\n         * Obtains all key-value pairs that match the local device ID and specified key prefix.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * that match the local device ID and specified key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(keyPrefix: string, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains all key-value pairs that match the local device ID and specified key prefix.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs that match the\n         * local device ID and specified key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(keyPrefix: string): Promise<Entry[]>;\n        /**\n         * Obtains all key-value pairs matching a specified device ID and key prefix.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * that match the specified deviceId and key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getEntries(deviceId: string, keyPrefix: string, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains all key-value pairs matching a specified device ID and key prefix.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs that match the\n         * specified deviceId and key prefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getEntries(deviceId: string, keyPrefix: string): Promise<Entry[]>;\n        /**\n         * Obtains the list of key-value pairs matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * matching the local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(query: Query, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains the list of key-value pairs matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs matching the local device ID and\n         * specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getEntries(query: Query): Promise<Entry[]>;\n        /**\n         * Obtains the list of key-value pairs matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the key-value pairs belong.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<Entry[]> } callback - {Entry[]}: the list of all key-value pairs\n         * matching the specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getEntries(deviceId: string, query: Query, callback: AsyncCallback<Entry[]>): void;\n        /**\n         * Obtains the list of key-value pairs matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the key-value pairs belong.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<Entry[]> } {Entry[]}: the list of all key-value pairs matching the\n         * specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getEntries(deviceId: string, query: Query): Promise<Entry[]>;\n        /**\n         * Obtains the result set with the local device ID and specified prefix from a {@code DeviceKVStore} database.\n         * The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore} instance can have a maximum of four {@code KVStoreResultSet} objects at the\n         * same time.\n         * If you have created four objects, calling this method will return a failure. Therefore, you are advised to\n         * call the closeResultSet method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the result set with the local device ID and specified prefix from a {@code DeviceKVStore} database.\n         * The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore} instance can have a maximum of four {@code KVStoreResultSet} objects at the\n         * same time.\n         * If you have created four objects, calling this method will return a failure. Therefore, you are advised to\n         * call the closeResultSet method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the result set with the local device ID and specified prefix from a {@code DeviceKVStore} database.\n         * The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore} instance can have a maximum of four {@code KVStoreResultSet} objects at the\n         * same time.\n         * If you have created four objects, calling this method will return a failure. Therefore, you are advised to\n         * call the closeResultSet method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the result set with the local device ID and specified prefix from a {@code DeviceKVStore} database.\n         * The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore} instance can have a maximum of four {@code KVStoreResultSet} objects at the\n         * same time.\n         * If you have created four objects, calling this method will return a failure. Therefore, you are advised to\n         * call the closeResultSet method to close unnecessary {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(keyPrefix: string): Promise<KVStoreResultSet>;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified device ID and key prefix.\n         * <p>The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created four\n         * objects,\n         * calling this method will return a failure. Therefore, you are advised to call the closeResultSet method to close\n         * unnecessary\n         * {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified device ID and key prefix.\n         * <p>The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created four\n         * objects,\n         * calling this method will return a failure. Therefore, you are advised to call the closeResultSet method to close\n         * unnecessary\n         * {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 10\n         */\n        getResultSet(deviceId: string, keyPrefix: string, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified device ID and key prefix.\n         * <p>The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created four\n         * objects,\n         * calling this method will return a failure. Therefore, you are advised to call the closeResultSet method to close\n         * unnecessary\n         * {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the specified device ID and key prefix.\n         * <p>The {@code KVStoreResultSet} object can be used to query all key-value pairs that meet the search criteria.\n         * Each {@code DeviceKVStore}\n         * instance can have a maximum of four {@code KVStoreResultSet} objects at the same time. If you have created four\n         * objects,\n         * calling this method will return a failure. Therefore, you are advised to call the closeResultSet method to close\n         * unnecessary\n         * {@code KVStoreResultSet} objects in a timely manner.\n         *\n         * @param { string } deviceId - Identifies the device whose data is to be queried.\n         * @param { string } keyPrefix - Indicates the key prefix to match.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and keyPrefix.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 10\n         */\n        getResultSet(deviceId: string, keyPrefix: string): Promise<KVStoreResultSet>;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(query: Query, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 10\n         */\n        getResultSet(query: Query): Promise<KVStoreResultSet>;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the {@code KVStoreResultSet} object\n         * belongs.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the {@code KVStoreResultSet} object\n         * belongs.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<KVStoreResultSet> } callback - {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 10\n         */\n        getResultSet(deviceId: string, query: Query, callback: AsyncCallback<KVStoreResultSet>): void;\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the {@code KVStoreResultSet} object\n         * belongs.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        /**\n         * Obtains the {@code KVStoreResultSet} object matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the {@code KVStoreResultSet} object\n         * belongs.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<KVStoreResultSet> } {KVStoreResultSet}: the {@code KVStoreResultSet}\n         * object matching the specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100001 - Over max limits.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 10\n         */\n        getResultSet(deviceId: string, query: Query): Promise<KVStoreResultSet>;\n        /**\n         * Obtains the number of results matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<number> } callback - {number}: the number of results matching the\n         * local device ID and specified {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getResultSize(query: Query, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the number of results matching the local device ID and specified {@code Query} object.\n         *\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<number> } {number}: the number of results matching the local device ID and specified\n         * {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getResultSize(query: Query): Promise<number>;\n        /**\n         * Obtains the number of results matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the results belong.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @param { AsyncCallback<number> } callback - {number}: the number of results matching the\n         * specified deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getResultSize(deviceId: string, query: Query, callback: AsyncCallback<number>): void;\n        /**\n         * Obtains the number of results matching a specified device ID and {@code Query} object.\n         *\n         * @param { string } deviceId - Indicates the ID of the device to which the results belong.\n         * @param { Query } query - Indicates the {@code Query} object.\n         * @returns { Promise<number> } {number}: the number of results matching the specified\n         * deviceId and {@code Query} object.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @throws { BusinessError } 15100005 - Database or result set already closed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        getResultSize(deviceId: string, query: Query): Promise<number>;\n    }\n    /**\n     * Creates a {@link KVManager} instance based on the configuration information.\n     * <p>You must pass {@link KVManagerConfig} to provide configuration information\n     * to create a {@link KVManager} instance.\n     *\n     * @param { KVManagerConfig } config - Indicates the KVStore configuration information,\n     * including the package name and context, and package name can not be empty.\n     * @returns { KVManager } : the {@code KVManager} instance.\n     * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n     * <br>2.Incorrect parameters types;\n     * <br>3.Parameter verification failed.\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    function createKVManager(config: KVManagerConfig): KVManager;\n    /**\n     * Provides interfaces to manage a {@code SingleKVStore} database, including obtaining, closing, and deleting the\n     * {@code SingleKVStore}.\n     *\n     * @interface KVManager\n     * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n     * @since 9\n     */\n    interface KVManager {\n        /**\n         * Creates and obtains a KVStore database by specifying {@code Options} and {@code storeId}.\n         *\n         * @param { string } storeId - Identifies the KVStore database. The value of this parameter must be unique\n         * for the same application, and different applications can share the same value. The storeId can consist\n         * of only letters, digits, and underscores (_), and cannot exceed 128 characters.\n         * @param { Options } options - Indicates the {@code Options} object used for creating and\n         * obtaining the KVStore database.\n         * @param { AsyncCallback<T> } callback - {T}: the {@code SingleKVStore} or {@code DeviceKVStore} instance.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100002 - Open existed database with changed options.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getKVStore<T>(storeId: string, options: Options, callback: AsyncCallback<T>): void;\n        /**\n         * Creates and obtains a KVStore database by specifying {@code Options} and {@code storeId}.\n         *\n         * @param { string } storeId - Identifies the KVStore database. The value of this parameter must be unique\n         * for the same application, and different applications can share the same value. The storeId can consist\n         * of only letters, digits, and underscores (_), and cannot exceed 128 characters.\n         * @param { Options } options - Indicates the {@code Options} object used for creating and\n         * obtaining the KVStore database.\n         * @returns { Promise<T> } {T}: the {@code SingleKVStore} or {@code DeviceKVStore} instance.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @throws { BusinessError } 15100002 - Open existed database with changed options.\n         * @throws { BusinessError } 15100003 - Database corrupted.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getKVStore<T>(storeId: string, options: Options): Promise<T>;\n        /**\n         * Closes the KVStore database.\n         * <p>Warning: This method is not thread-safe. If you call this method to stop a KVStore database that is running,\n         * your thread may crash.\n         * <p>The KVStore database to close must be an object created by using the {@code getKVStore} method. Before using\n         * this method, release the resources created for the database, for example, {@code KVStoreResultSet} for KVStore,\n         * otherwise closing the database will fail.\n         *\n         * @param { string } appId - Identifies the application that the database belong to, and cannot exceed 256\n         * characters.\n         * @param { string } storeId - Identifies the KVStore database to close. The storeId can consist of only letters,\n         * digits, and underscores (_), and cannot exceed 128 characters.\n         * @param { AsyncCallback<void> } callback - the callback of closeKVStore.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        closeKVStore(appId: string, storeId: string, callback: AsyncCallback<void>): void;\n        /**\n         * Closes the KVStore database.\n         * <p>Warning: This method is not thread-safe. If you call this method to stop a KVStore database that is running,\n         * your thread may crash.\n         * <p>The KVStore database to close must be an object created by using the {@code getKVStore} method. Before using\n         * this method, release the resources created for the database, for example, {@code KVStoreResultSet} for KVStore,\n         * otherwise closing the database will fail.\n         *\n         * @param { string } appId - Identifies the application that the database belong to, and cannot exceed 256\n         * characters.\n         * @param { string } storeId - Identifies the KVStore database to close. The storeId can consist of only letters,\n         * digits, and underscores (_), and cannot exceed 128 characters.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        closeKVStore(appId: string, storeId: string): Promise<void>;\n        /**\n         * Deletes the KVStore database identified by storeId.\n         * <p>Before using this method, close all KVStore instances in use that are identified by the same storeId.\n         * <p>You can use this method to delete a KVStore database not in use. After the database is deleted, all its data\n         * will be lost.\n         *\n         * @param { string } appId - Identifies the application that the database belong to, and cannot exceed 256\n         * characters.\n         * @param { string } storeId - Identifies the KVStore database to delete. The storeId can consist of only letters,\n         * digits, and underscores (_), and cannot exceed 128 characters.\n         * @param { AsyncCallback<void> } callback - the callback of deleteKVStore.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deleteKVStore(appId: string, storeId: string, callback: AsyncCallback<void>): void;\n        /**\n         * Deletes the KVStore database identified by storeId.\n         * <p>Before using this method, close all KVStore instances in use that are identified by the same storeId.\n         * <p>You can use this method to delete a KVStore database not in use. After the database is deleted, all its data\n         * will be lost.\n         *\n         * @param { string } appId - Identifies the application that the database belong to, and cannot exceed 256\n         * characters.\n         * @param { string } storeId - Identifies the KVStore database to delete. The storeId can consist of only letters,\n         * digits, and underscores (_), and cannot exceed 128 characters.\n         * @returns { Promise<void> } the promise returned by the function.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @throws { BusinessError } 15100004 - Not found.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        deleteKVStore(appId: string, storeId: string): Promise<void>;\n        /**\n         * Obtains the storeId of all KVStore databases that are created by using the {@code getKVStore} method and not\n         * deleted by calling the {@code deleteKVStore} method.\n         *\n         * @param { string } appId - Identifies the application that obtains the databases, and cannot exceed 256\n         * characters.\n         * @param { AsyncCallback<string[]> } callback - {string[]}: the storeId of all created KVStore databases.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getAllKVStoreId(appId: string, callback: AsyncCallback<string[]>): void;\n        /**\n         * Obtains the storeId of all KVStore databases that are created by using the {@code getKVStore} method and not\n         * deleted by calling the {@code deleteKVStore} method.\n         *\n         * @param { string } appId - Identifies the application that obtains the databases, and cannot exceed 256\n         * characters.\n         * @returns { Promise<string[]> } {string[]}: the storeId of all created KVStore databases.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.Core\n         * @since 9\n         */\n        getAllKVStoreId(appId: string): Promise<string[]>;\n        /**\n         * Register a death callback to get notification when the data manager service is terminated.\n         * <p>If the data manager service is terminated,you need to re-subscribe to data change notifications and\n         * synchronization completion notifications, and calling the sync method will return a failure.\n         *\n         * @param { 'distributedDataServiceDie' } event - Subscribed event name, fixed as 'distributedDataServiceDie',\n         * as a service status change events.\n         * @param { Callback<void> } deathCallback - callback to be invoked when the data manager service is terminated.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        on(event: 'distributedDataServiceDie', deathCallback: Callback<void>): void;\n        /**\n         * Unregister the death callback. Not notification will be received when the data manager service is terminated.\n         * <p>The unregistered death callback must be a registered death callback of the database. If no death callback\n         * parameter is passed, all database death callbacks will be unregistered.\n         *\n         * @param { 'distributedDataServiceDie' } event - Unsubscribe event name, fixed as 'distributedDataServiceDie',\n         * as a service status change events.\n         * @param { Callback<void> } deathCallback - the data manager service is terminated callback which has been\n         * registered.\n         * @throws { BusinessError } 401 - Parameter error.Possible causes:1.Mandatory parameters are left unspecified;\n         * <br>2.Incorrect parameters types;\n         * <br>3.Parameter verification failed.\n         * @syscap SystemCapability.DistributedDataManager.KVStore.DistributedKVStore\n         * @since 9\n         */\n        off(event: 'distributedDataServiceDie', deathCallback?: Callback<void>): void;\n    }\n}\nexport default distributedKVStore;\n",
}
export default FILE;